{% load i18n %}
    <script src="/static/lib/bootbox.min.js" type="text/javascript"></script>
<script>

    $(document).ready(function() {
        // verify_msm()
    });
    //
    // 初始化界面'
    function init_phone_msg(phone)
    {
        var dialog_box = bootbox.dialog({
            message: '<style> \
                </style> <form class="form-horizontal dialog_me" role="form" id="send_verify_from">\
                <div class="form-group">\
                    <label for="lastname" class="col-sm-4 control-label">{% trans '手机号' %}</label>\
                    <div class=" col-sm-8 ">\
                        <div class="input-group">\
                            <input type="text" class="form-control"  disabled="disabled"  value="' + phone +'"/>\
                        </div>\
                    </div>\
                </div>\
                <div class="form-group">\
                    <label for="lastname" class="col-sm-4 control-label">{% trans '验证码' %}</label>\
                    <div class="col-sm-8">\
                        <div class="input-group">\
                            <input id="verify_code" name="verify_code" type="text" class="form-control" />\
                        </div>\
                    </div>\
                </div>\
                <div class="form-group">\
                    <label for="lastname" class="col-sm-4 control-label"></label>\
                    <div class="col-sm-4 ">\
                        <button type="button" id="send_verify_msm" class="btn btn-block btn-success" data-toggle="tooltip">确认</button>\
                    </div>\
                </div>\
            </form>',
            title: "{% trans '安全认证' %}",
            onEscape:true,
        });
        return dialog_box
    }

    function verify_msm(verify_type, callback) {

        {% if not user.is_authenticated %}
            return
        {% endif %}
        // 首先发给服务器
        send_verify(verify_type, callback)
    }

    // 服务器端回来一个发送验证码的东西,如果成功就返回调用
    function send_verify(verify_type, callback) {

        // 叫服务器发送信息到用户
        $.post("{% url 'send_verify_msm' %}", {"verify_type": verify_type}, function(data){
            if(data.result == true)
            {
                // 已经是验证通过的不用再发了
                if (data.msg =="is_auth")
                {
                    callback(true)
                    return
                }
                // 初始化
                var phone = ""
                {% if user.is_authenticated %}
                    phone = {{user.phone}}
                {% endif %}
                var dialog_box = init_phone_msg(phone)
                // 发送后监听确认信息
                $("#send_verify_msm").click(function()
                {
                    verify_confirm(dialog_box, callback)
                });
            }
            else
            {
                if (data.msg == "too_fast") {
                    bootbox.alert("{%trans '发送频率过快请稍后再试，请稍后再试'%}" )
                }
                else {
                    bootbox.alert("{%trans '短信服务器的繁忙，请稍后再试'%}" )
                }
            }
        });
    }

    // 信息确认发给服务器端
    function verify_confirm(dialog_box, callback) {

        $.post("{% url 'verify_msm_confirm' %}", $("#send_verify_from").serialize(), function(data){
            if (data.result == true)
            {
                dialog_box.modal('hide');
                callback(true)
                //bootbox.alert("{%trans '正要关闭'%}")
            }
            else
            {
                if (data.msg == "try_too_much") {
                    dialog_box.modal('hide');
                    bootbox.alert("<h4>{%trans '验证码错误次数过多，请关闭后重试'%}</h4>")
                    callback(false)
                }
                else {
                    bootbox.alert("<h4>{%trans '验证码错误，请重新输入'%}</h4>")
                }
            }
        })
    }

    function msg_tips(text, msec, callback, params)
    {
        var dialog = bootbox.dialog({
      //      title: 'tips',
            message: text,
            size: 'small',
        });
        dialog.init(function(){
            setTimeout(function(){
                dialog.modal('hide')
                if (callback)
                {
                    callback(params)
                }
            }, msec);
        });
    }

</script>
